;*****************************
;***** The NASMX Project *****
;*****************************

%ifndef __NASM_GLU__
%define __NASM_GLU__

;/* Extensions */
GLU_EXT_object_space_tess	EQU		1
GLU_EXT_nurbs_tessellator	EQU		1

;/* Boolean */
GLU_FALSE			EQU		0
GLU_TRUE			EQU		1

;/* Version */
GLU_VERSION_1_1			EQU		1
GLU_VERSION_1_2			EQU		1

;/* StringName */
GLU_VERSION			EQU		100800
GLU_EXTENSIONS			EQU		100801

;/* ErrorCode */
GLU_INVALID_ENUM		EQU		100900
GLU_INVALID_VALUE		EQU		100901
GLU_OUT_OF_MEMORY		EQU		100902
GLU_INCOMPATIBLE_GL_VERSION	EQU		100903
GLU_INVALID_OPERATION		EQU		100904

;/* NurbsDisplay */
;GLU_FILL
GLU_OUTLINE_POLYGON		EQU		100240
GLU_OUTLINE_PATCH		EQU		100241

;/* NurbsCallback */
GLU_ERROR			EQU		100103

;/* NurbsError */
GLU_NURBS_ERROR1		EQU		100251
GLU_NURBS_ERROR2		EQU		100252
GLU_NURBS_ERROR3		EQU		100253
GLU_NURBS_ERROR4		EQU		100254
GLU_NURBS_ERROR5		EQU		100255
GLU_NURBS_ERROR6		EQU		100256
GLU_NURBS_ERROR7		EQU		100257
GLU_NURBS_ERROR8		EQU		100258
GLU_NURBS_ERROR9		EQU		100259
GLU_NURBS_ERROR10		EQU		100260
GLU_NURBS_ERROR11		EQU		100261
GLU_NURBS_ERROR12		EQU		100262
GLU_NURBS_ERROR13		EQU		100263
GLU_NURBS_ERROR14		EQU		100264
GLU_NURBS_ERROR15		EQU		100265
GLU_NURBS_ERROR16		EQU		100266
GLU_NURBS_ERROR17		EQU		100267
GLU_NURBS_ERROR18		EQU		100268
GLU_NURBS_ERROR19		EQU		100269
GLU_NURBS_ERROR20		EQU		100270
GLU_NURBS_ERROR21		EQU		100271
GLU_NURBS_ERROR22		EQU		100272
GLU_NURBS_ERROR23		EQU		100273
GLU_NURBS_ERROR24		EQU		100274
GLU_NURBS_ERROR25		EQU		100275
GLU_NURBS_ERROR26		EQU		100276
GLU_NURBS_ERROR27		EQU		100277
GLU_NURBS_ERROR28		EQU		100278
GLU_NURBS_ERROR29		EQU		100279
GLU_NURBS_ERROR30		EQU		100280
GLU_NURBS_ERROR31		EQU		100281
GLU_NURBS_ERROR32		EQU		100282
GLU_NURBS_ERROR33		EQU		100283
GLU_NURBS_ERROR34		EQU		100284
GLU_NURBS_ERROR35		EQU		100285
GLU_NURBS_ERROR36		EQU		100286
GLU_NURBS_ERROR37		EQU		100287

;/* NurbsProperty */
GLU_AUTO_LOAD_MATRIX		EQU		100200
GLU_CULLING			EQU		100201
GLU_SAMPLING_TOLERANCE		EQU		100203
GLU_DISPLAY_MODE		EQU		100204
GLU_PARAMETRIC_TOLERANCE	EQU		100202
GLU_SAMPLING_METHOD		EQU		100205
GLU_U_STEP			EQU		100206
GLU_V_STEP			EQU		100207

;/* NurbsSampling */
GLU_OBJECT_PARAMETRIC_ERROR_EXT	EQU		100208
GLU_OBJECT_PATH_LENGTH_EXT	EQU		100209
GLU_PATH_LENGTH			EQU		100215
GLU_PARAMETRIC_ERROR		EQU		100216
GLU_DOMAIN_DISTANCE		EQU		100217

;/* NurbsTrim */
GLU_MAP1_TRIM_2			EQU		100210
GLU_MAP1_TRIM_3			EQU		100211

;/* QuadricDrawStyle */
GLU_POINT			EQU		100010
GLU_LINE			EQU		100011
GLU_FILL			EQU		100012
GLU_SILHOUETTE			EQU		100013

;/* QuadricCallback */
;GLU_ERROR

;/* QuadricNormal */
GLU_SMOOTH			EQU		100000
GLU_FLAT			EQU		100001
GLU_NONE			EQU		100002

;/* QuadricOrientation */
GLU_OUTSIDE			EQU		100020
GLU_INSIDE			EQU		100021

;/* TessCallback */
GLU_TESS_BEGIN			EQU		100100
GLU_BEGIN			EQU		100100
GLU_TESS_VERTEX			EQU		100101
GLU_VERTEX			EQU		100101
GLU_TESS_END			EQU		100102
GLU_END				EQU		100102
GLU_TESS_ERROR			EQU		100103
GLU_TESS_EDGE_FLAG		EQU		100104
GLU_EDGE_FLAG			EQU		100104
GLU_TESS_COMBINE		EQU		100105
GLU_TESS_BEGIN_DATA		EQU		100106
GLU_TESS_VERTEX_DATA		EQU		100107
GLU_TESS_END_DATA		EQU		100108
GLU_TESS_ERROR_DATA		EQU		100109
GLU_TESS_EDGE_FLAG_DATA		EQU		100110
GLU_TESS_COMBINE_DATA		EQU		100111
GLU_NURBS_MODE_EXT		EQU		100160
GLU_NURBS_TESSELLATOR_EXT	EQU		100161
GLU_NURBS_RENDERER_EXT		EQU		100162
GLU_NURBS_BEGIN_EXT		EQU		100164
GLU_NURBS_VERTEX_EXT		EQU		100165
GLU_NURBS_NORMAL_EXT		EQU		100166
GLU_NURBS_COLOR_EXT		EQU		100167
GLU_NURBS_TEX_COORD_EXT		EQU		100168
GLU_NURBS_END_EXT		EQU		100169
GLU_NURBS_BEGIN_DATA_EXT	EQU		100170
GLU_NURBS_VERTEX_DATA_EXT	EQU		100171
GLU_NURBS_NORMAL_DATA_EXT	EQU		100172
GLU_NURBS_COLOR_DATA_EXT	EQU		100173
GLU_NURBS_TEX_COORD_DATA_EXT	EQU		100174
GLU_NURBS_END_DATA_EXT		EQU		100175

;/* TessContour */
GLU_CW				EQU		100120
GLU_CCW				EQU		100121
GLU_INTERIOR			EQU		100122
GLU_EXTERIOR			EQU		100123
GLU_UNKNOWN			EQU		100124

;/* TessProperty */
GLU_TESS_WINDING_RULE		EQU		100140
GLU_TESS_BOUNDARY_ONLY		EQU		100141
GLU_TESS_TOLERANCE		EQU		100142

;/* TessError */
GLU_TESS_ERROR1			EQU		100151
GLU_TESS_ERROR2			EQU		100152
GLU_TESS_ERROR3			EQU		100153
GLU_TESS_ERROR4			EQU		100154
GLU_TESS_ERROR5			EQU		100155
GLU_TESS_ERROR6			EQU		100156
GLU_TESS_ERROR7			EQU		100157
GLU_TESS_ERROR8			EQU		100158
GLU_TESS_MISSING_BEGIN_POLYGON	EQU		100151
GLU_TESS_MISSING_BEGIN_CONTOUR	EQU		100152
GLU_TESS_MISSING_END_POLYGON	EQU		100153
GLU_TESS_MISSING_END_CONTOUR	EQU		100154
GLU_TESS_COORD_TOO_LARGE	EQU		100155
GLU_TESS_NEED_COMBINE_CALLBACK	EQU		100156

;/* TessWinding */
GLU_TESS_WINDING_ODD		EQU		100130
GLU_TESS_WINDING_NONZERO	EQU		100131
GLU_TESS_WINDING_POSITIVE	EQU		100132
GLU_TESS_WINDING_NEGATIVE	EQU		100133
GLU_TESS_WINDING_ABS_GEQ_TWO	EQU		100134

%endif ; __NASM_GLU__
